package com.kingsoft.dc.khaos.module.spark.metadata.preprocess.specific.quality

import org.json4s.JsonAST.JObject

/**
  * Created by WANGYING15 on 2019/7/30.
  */
case class TechCheckInfo(db_name: String = null,
                         table_name: String = null,
                         check_sink_nums: Option[Integer],
                         extender: ExtenderInfo = null,
                         extract_fields: List[TechCheckFieldInfo] = List()
                        )

case class ExtenderInfo(check: ExtendedCheck = null)

case class ExtendedCheck(clazz: String = "",
                         params: JObject = null)

case class TechCheckFieldInfo(field: String = null,
                              data_type: String = null,
                              length: Option[String],
                              option: ExtractFieldOption)

case class ExtractFieldOption(tech_check: TechCheckOption)

case class TechCheckOption(on_off: Boolean = false,
                           rule_options: List[TechCheckRuleOption] = List()
                          )

case class TechCheckRuleOption(rule_id: Integer = null,
                               rule_name: String = null,
                               rule_type: String = null
                              )